package com.ktwlsoft.archivemanage.domain.dao.entity.businessInspect;

import com.ktwlsoft.archivemanage.domain.dao.entity.BaseEntity;
import com.ktwlsoft.archivemanage.domain.dao.entity.mend.MendList;
import com.ktwlsoft.archivemanage.payload.businessInspect.ImgsUpdate;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
  * business_inspect--业务检查
  *
  * @author zhuhe on 2019-11-12 15:00:45
  * @version 1.0
  */
@ApiModel("business_inspect--业务检查-BusinessInspect")
@Getter
@Setter
public class BusinessInspect extends BaseEntity implements Serializable{

    public enum state {
        /**暂存*/
        STAGE,
        /**待自查*/
        SELF_INSPECT,
        /**自查待提交*/
        SELF_INSPECT_WAIT_COMMIT,
        /**待复查*/
        REPEAT_INSPECT,
        /**复查待提交*/
        REPEAT_INSPECT_WAIT_COMMIT,
        /**待确认*/
        WAIT_CONFIRM,
        /**撤销*/
        CANCEL,
        /**完结*/
        COMPLETE
    }

    /**考核模板id**/
    @ApiModelProperty("考核模板id")
    private Long temId;

    /**考核模板名称**/
    @ApiModelProperty("考核模板名称")
    private String temName;

    /**状态:STAGE(暂存),CANCEL(撤销),COMPLETE(完结)**/
    @ApiModelProperty("状态:STAGE(暂存),CANCEL(撤销),COMPLETE(完结)")
    private state state;

    /**检查单号**/
    @ApiModelProperty("检查单号")
    private String guidanceNum;

    /**考核地理位置**/
    @ApiModelProperty("考核地理位置")
    private String gpsAddress;

    /**立档单位id**/
    @ApiModelProperty("立档单位id")
    private Long unitId;

    /**立档单位**/
    @ApiModelProperty("立档单位")
    private String unitName;

    /**单位位置**/
    @ApiModelProperty("单位位置")
    private String unitAddress;

    /**档案员**/
    @ApiModelProperty("档案员")
    private String archivist;

    /**档案员id**/
    @ApiModelProperty("档案员id")
    private Long archivistId;

    /**档案员电话**/
    @ApiModelProperty("档案员电话")
    private String archivistPhone;

    /**满分**/
    @ApiModelProperty("满分")
    private BigDecimal fullMark;

    /**得分**/
    @ApiModelProperty("得分")
    private BigDecimal mark;

    /**自查意见**/
    @ApiModelProperty("自查意见(自查意见)")
    private String selfAdvice;

    /**自查签字**/
    @ApiModelProperty("自查签字(自查意见)")
    private String selfSign;

    /**检查意见(复查意见)**/
    @ApiModelProperty("检查意见(复查意见)")
    private String guidAdvice;

    /**检查员签字(复查意见)**/
    @ApiModelProperty("检查员签字(复查意见)")
    private String instructorSign;

    /**被检查意见(确认意见)**/
    @ApiModelProperty("被检查意见(确认意见)")
    private String unitAdvice;

    /**被检查单位签字(确认意见)**/
    @ApiModelProperty("被检查单位签字(确认意见)")
    private String unitSign;

    /**自查得分**/
    @ApiModelProperty("自查得分")
    private BigDecimal selfInspectMark;

    /**自查印证材料档号**/
    @ApiModelProperty("自查印证材料档号")
    private String selfConfirmMaterialReference;

    /**自查提交时间**/
    @ApiModelProperty("自查提交时间")
    private Date selfInspectCommitTime;

    /**复查得分**/
    @ApiModelProperty("复查得分")
    private BigDecimal repeatInspectMark;

    /**复查印证材料档号**/
    @ApiModelProperty("复查印证材料档号")
    private String repeatConfirmMaterialReference;

    /**复查提交时间**/
    @ApiModelProperty("复查提交时间")
    private Date repeatInspectCommitTime;

    /**确认提交时间**/
    @ApiModelProperty("确认提交时间")
    private Date confirmCommitTime;

    /**检查类型:default(默认),self_or_repeat(自查复查)**/
    @ApiModelProperty("检查类型:default(默认),self_or_repeat(自查复查)")
    private String inspectType;

    /**回收:1为回收,0为未回收**/
    @ApiModelProperty("回收:1为回收,0为未回收")
    private Integer recycle;

    /**更新人id*/
    @ApiModelProperty("更新人id")
    private Long updateId;

    /**更新人*/
    @ApiModelProperty("更新人")
    private String update;

    /**回收时间*/
    @ApiModelProperty("回收时间")
    private Date recycleTime;

    /**
     * 整改状态:返回用临时字段
     */
    @ApiModelProperty("整改状态")
    private MendList.MendState mendState;
}
